package com.pig.service.goods;

import com.pig.pojo.cart.Cart;
import com.pig.pojo.goods.Goods;
import com.pig.util.PageObject;

import java.util.List;
import java.util.Map;

public interface GoodsService {

    /**
     * 所有的查询方法
     * 可以根据名字查询所有的商品
     * 可以根据分类查询所有分类商品
     * 可以根据状态查询启用商品
     * @param title
     * @param pageCurrent
     * @param categoryId
     * @param status
     * @return
     */
    PageObject<Goods> findGoodsByTitle(String title, Integer status, Integer categoryId, Integer pageCurrent,Integer pageSize);

    /**
     * 通过商品ip查询出具体的商品信息
     * 封装成Map
     * @param goodsId
     * @return
     */
    Map<String, Object> findGoodsById(Integer goodsId);

    /**
     * 查询具体有多少条数据，用于分页的展示
     * @param title
     * @param pageCurrent
     * @param pageSize
     * @return
     */
    PageObject findGoodsPages(String title, Integer pageCurrent,Integer pageSize);

    /**
     * 删除商品方法
     * @param goodsId
     */
    void delGoods(Integer goodsId);

    /**
     * 修改商品的状态
     * @param goodsId
     * @param status
     * @return
     */
    int setGoodsStatus(Integer goodsId, Integer status);


    /**
     * 新添加商品操作
     * @param goods
     * @return
     */
    int insertGoods(Goods goods);

    void UpdateGoods(Goods goods);

    List<Goods> getRandomGoods();

    //根据商品id查询商品信息，用于写入数据库
    List<Goods> selectItemByItemId(Integer itemId);
}
